package com.qr.mp.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
//@TableName("tb_user")     配置表前缀后可以省略，但是数据库中表要统一前缀规范
public class User {
    //设置主键自增长类型
//    @TableId(type = IdType.AUTO)，在application.properties中配置主键生成策略后，实体中就不需要指定了
    private Long id;

    private String userName;

    /**
     *     查询时不返回该字段的值
     *     当对象中的属性名和表结构中的字段名是不一致的时候使用（除去驼峰，驼峰会识别）
     *     对象中有些属性字段在表中不存在的使用也可以使用该注解
     */
    //select = false设置查询的时候这个字段不会被查询出来
    @TableField(select = false)
    private String password;
    private String name;
    private Integer age;

    //指定数据表中字段名 mail 对应到数据库中的 email
    @TableField(value = "email")
    private String mail;

    //在数据库表中是不存在的
    @TableField(exist = false)
    private String address;
}